Companies and individuals seeking to reduce the expense and overhead associated with maintaining their own computing resources have turned instead to purchasing remote computing services, such as remote program execution over multiple virtual machine instances and remote data storage, offered by computing resource service providers to customers. Such remote computing services are often configurable and scalable to meet various computing needs of the customers of the computing resource service provider.
In a large distributed computing system (e.g., multiple distributed data centers) of a computing resource service provider, various customers, users, services, and resources of the computing resource service provider are in frequent communication with each other. Balancing customer access to the computing resources and keeping the system secure becomes more challenging as the complexity and usage of the system increases. Customer utilization of resources in the distributed computing system may change over time, which may decrease characteristics of the system, such as efficiency and resource realization. Modifying the system to address customer utilization may pose a variety of challenging problems.